#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1e5+10;
struct node 
{
	int l;
	int r;
}a[maxn];
int find(int x,int l,int r)
{
	int mid = (l+r)/2;
//	cout<<l<<"******"<<r<<"***"<<a[mid].l<<"*****"<<a[mid].r<<endl;

	if(a[mid].l<=x&&a[mid].r>=x)
	{
		return mid;
	}
	else if(a[mid].l>x) return find(x,l,mid);
	else return find(x,mid+1,r);
}
int main()
{
	int n;
	cin>>n;
	for(int i = 1;i<=n;i++)
	{
		int x;
		cin>>x;
		if(i==0)
		{
			a[i].l = 1;
			a[i].r = x;
		}
		else 
		{
			a[i].l = a[i-1].r+1;
			a[i].r = a[i-1].r+x;
		}
	}
	int m;
	cin>>m;
	for(int i = 0;i<m;i++)
	{
		int x;
		cin>>x;
		cout<<find(x,1,n)<<endl;
	}
} 
